On the Implementation of an ILP System with Prolog
نویسندگان
چکیده
Inductive Logic Programming (ILP) systems is a set of Machine Learning techniques that have been quite successful in knowledge discovery in relational domains. These systems implemented in Prolog are among the most successfull ILP systems. They challenge the limits of Prolog systems due to heavy usage of resources, such as database accesses and memory usage, and very long execution times. In this work we discuss the fundamental performance issues found in an ILP engine – the April system. Namely, we evaluate the impact of a fundamental technique, called coverage caching, that stores previous results in order to avoid recomputation. To understand the results obtained we profiled April’s execution and present initial results. We advocate that the indexing mechanisms used in YAP Prolog database are inefficient and that improvement of these mechanisms may lead to significant improvements in Prolog based ILP systems.
منابع مشابه
Experimental Evaluation of a Caching Technique for ILP
Inductive Logic Programming (ILP) is a Machine Learning technique that has been quite successful in knowledge discovery for relational domains. ILP systems implemented in Prolog challenge the limits of Prolog systems due to heavy usage of resources such as database accesses and memory usage, and to very long execution times. The major reason to implement ILP systems in Prolog is that the infere...
متن کاملA Data-Parallel Version of Aleph
This is to present work on modifying the Aleph ILP system so that it evaluates the hypothesised clauses in parallel by distributing the data-set among the nodes of a parallel or distributed machine. The paper briefly discusses the MPI specification and the extension of Yap Prolog with an interface to MPI libraries. It then proceeds to describe an implementation of data-parallel clause evaluatio...
متن کاملEfficient and Scalable Induction of Logic Programs Using a Deductive Database System
A consequence of ILP systems being implemented in Prolog (e.g., [1–3]) or using Prolog libraries (e.g., [4]) is that, usually, these systems use the Prolog internal database to store and manipulate data. However, in real-world problems, the original data is rarely in Prolog format. In fact, due to the huge amount of information used to characterise these type of problems, the data is often kept...
متن کاملOn Applying Tabling to Inductive Logic Programming
It is recognized that efficiency and scalability is a major obstacle to an increased usage of Inductive Logic Programming (ILP) in complex applications with large hypotheses spaces. In this work, we focus on improving the efficiency and scalability of ILP systems by exploring tabling mechanisms available in the underlying Logic Programming systems. We present two different approaches. Our first...
متن کاملStrongly Typed Inductive Concept Learning
In this paper we argue that the use of a language with a type system, together with higher-order facilities and functions, provides a suitable basis for knowledge representation in inductive concept learning and, in particular, illuminates the relationship between attribute-value learning and inductive logic programming (ILP). Individuals are represented by closed terms: tuples of constants in ...
متن کامل